/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package usecase;

import IBO.IIntervention;
import IBO.ITechnicien;
import IUSECASE.IUC_GestionTechniciens;
import bo.Technicien;
import boerrors.AdresseInexistantException;
import boerrors.CodePostalMinimumMultiplicityException;
import boerrors.ZoneMinimumMultiplicityException;
import java.io.Serializable;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.Date;
import java.util.Vector;

/**
 *
 * @author olivierm
 */
public class GestionTechniciens extends UnicastRemoteObject implements IUC_GestionTechniciens, Serializable{

        private static GestionTechniciens instance = null;    
   
        //*******************************************************************    
        //Constructeur du singleton    
        //*******************************************************************        

        public static GestionTechniciens getInstance() throws RemoteException {        
                if(instance == null) instance = new GestionTechniciens();        
                return instance;    
        }
   
        public GestionTechniciens() throws RemoteException {
                super();
        }     

        //*******************************************************************    
        //Méthodes   
        //*******************************************************************        
        
        public Vector<IIntervention> retrieveInterventions(ITechnicien technicien, Date date) throws RemoteException, AdresseInexistantException, CodePostalMinimumMultiplicityException, ZoneMinimumMultiplicityException{
            Vector<IIntervention> lstInterventions = new Vector<IIntervention>();
            for(int i = 0; i < technicien.getListeIInterventions().size(); i++){
                if((technicien.getListeIInterventions().get(i).getDateIntervention().getTime().compareTo(date) == 0)){
                    lstInterventions.add(technicien.getListeIInterventions().get(i));
                }
            }
            return lstInterventions;
        }    
    
}
